package ar.edu.utn.frgp.banco.domain;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;


public class Movimiento {
	
	public static final String TIPOMOVIMIENTO_EXTRACCION = "EXTRACCION";
	public static final String TIPOMOVIMIENTO_DEPOSITO = "DEPOSITO";
	public static final String ORIGEN_CAJA = "CAJA";
	public static final String ORIGEN_TRANSFERENCIA = "TRANSFERENCIA";
	public static final String ORIGEN_SERVICIO = "SERVICIO";
	public static final String ORIGEN_PRESTAMO = "PRESTAMO";
	public static final String ORIGEN_PLAZOFIJO = "PLAZOFIJO";
	
	
	/**
	 * {@value default "dd/MM/yyyy HH:mm:ss"}
	 * @see setPatern(String patern) para otros formatos
	 */
	private SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
	private Integer id_movimiento; 
	private Integer id_cuenta;
	private Date fecha;
	private String s_fecha; // 
	private String tipoMov; 
	private String origen;
	private double saldoActual;
	private double monto;
	
	
	/**
	 * @param pattern Para setear en tipo de formateo. Ej: dd/MM/yyyy HH:mm:ss
	 */
	public void setPatern(String pattern){
		sdf.applyPattern(pattern);		
	}
	
	public Integer getId_movimiento() {
		return id_movimiento;
	}

	public void setId_movimiento(Integer id_movimiento) {
		this.id_movimiento = id_movimiento;
	}

	public String getS_fecha() {
		return s_fecha;
	}

	public void setS_fecha(String s_fecha) throws ParseException {
		this.s_fecha = s_fecha;
		this.fecha=sdf.parse(s_fecha);
	}

	public Integer getId_cuenta()  {
		return id_cuenta;
	}

	public void setId_cuenta(Integer id_cuenta) {
		this.id_cuenta = id_cuenta;
	}

	public Date getFecha() {
		return fecha;
	}

	public void setFecha(Date fecha) {
		this.fecha = fecha;
		this.s_fecha= sdf.format(fecha);
	}

	public String getTipoMov() {
		return tipoMov;
	}

	public void setTipoMov(String tipoMov) {
		this.tipoMov = tipoMov;
	}

	public String getOrigen() {
		return origen;
	}

	public void setOrigen(String origen) {
		this.origen = origen;
	}

	public double getSaldoActual() {
		return saldoActual;
	}

	public void setSaldoActual(double saldoActual) {
		this.saldoActual = saldoActual;
	}

	public double getMonto() {
		return monto;
	}

	public void setMonto(double monto) {
		this.monto = monto;
	}

}
